home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- #
- # Copyright (c) 1990-1998 Enlighten Software Solutions, Inc.
- # -- All Rights Reserved --
- #
-
-
- if test $# -lt 1
- then
- echo "Usage: $0 architecture"
- echo
- echo "Where architecture is one of:"
- echo " AIX DGUX"
- echo " HPUX OSF1"
- echo " SCO SGI"
- echo " SOLARIS SUN4"
- echo " ULTRIX"
- exit 1
- fi
-
- echo "HOSTNAME TOTAL USED FREE CAP (%)"
-
- case "$1" in
- AIX)
- #
- # IBM AIX
- #
- /usr/bin/hostname | /usr/bin/awk ' { printf ("%-14s ", $1); } '
-
- case `/usr/bin/uname -v` in
- 3) pstat=/etc/pstat;;
- 4) pstat=/usr/sbin/pstat;;
- *) pstat=pstat;;
- esac
- pagesize=`/usr/bin/pagesize`
-
- ($pstat -s; echo PAGESIZE $pagesize) | /usr/bin/tail +4 | /usr/bin/awk '
- BEGIN {
- used = 0;
- free = 0;
- pagesize = 1024;
- }
- {
- if (NF == 2)
- {
- if ($1 == "PAGESIZE")
- pagesize=$2;
- else
- {
- used += $1;
- free += $2;
- }
- }
- }
- END {
- used *= (pagesize / 1024);
- free *= (pagesize / 1024);
- printf ("%7d %7d %7d %7d\n", \
- free + used, used, free, (used * 100) / (free + used));
- }'
- ;;
-
- SUN4)
- #
- # Solaris 1.x better know as Sun OS 4.1.x
- #
- /bin/hostname | /bin/awk ' { printf ("%-14s ", $1); } '
-
- /etc/pstat -s | /usr/ucb/head -1 | /bin/sed 's/k\>//g' | /bin/awk '
- {
- for (i = 1; i <= NF; i++)
- {
- if ($i == "used,")
- used=$(i - 1)
-
- if ($i == "available")
- free=$(i - 1)
- }
-
- printf ("%7d %7d %7d %7d\n", \
- free + used, used, free, (used * 100) / (free + used));
- }'
- ;;
-
-
- SOLARIS)
- #
- # Solaris 2.x
- #
- /sbin/uname -n | /usr/bin/awk ' { printf ("%-14s ", $1); } '
-
- /usr/sbin/swap -l | /usr/bin/tail +2 | /usr/bin/awk '
- BEGIN {
- blocks = 0;
- free = 0;
- }
- {
- blocks += $(NF - 1) / 2;
- free += $(NF - 0) / 2;
- }
- END {
- if (blocks != 0)
- {
- printf ("%7d %7d %7d %7d\n", \
- blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
- }
- }'
- ;;
-
- SCO)
- #
- # SCO
- #
- /bin/uname -n | /usr/bin/awk ' { printf ("%-14s ", $1); } '
-
- /etc/swap -l | /bin/tail +2 | /usr/bin/awk '
- BEGIN {
- blocks = 0;
- free = 0;
- }
- {
- blocks += $(NF - 1) / 2;
- free += $(NF - 0) / 2;
- }
- END {
- printf ("%7d %7d %7d %7d\n", \
- blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
- }'
- ;;
-
- DGUX)
- uname -n | awk ' { printf ("%-14s ", $1); } '
-
- freeswap=`/usr/bin/sar -r 1 1 | /usr/bin/tail -1 | \
- /usr/bin/awk ' { print $3 } ' `
-
- blocks=`/usr/bin/admpdisk -o list -a | /usr/bin/fgrep swap | /usr/bin/awk '
- BEGIN {
- blocks = 0;
- }
- {
- blocks += $(NF);
- }
- END {
- printf ("%d\n", blocks);
- }'`
-
- echo $freeswap $blocks | /usr/bin/awk '
- BEGIN {
- blocks = 0;
- free = 0;
- }
- {
- free += $1 / 2;
- blocks += $2 / 2;
- }
- END {
- printf ("%7d %7d %7d %7d\n", \
- blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
- }'
- ;;
-
- HPUX)
- HPNAME="`uname -n`"
- export HPNAME
- /etc/swapinfo | /bin/tail +3 | /usr/bin/awk "
- {
- if (\$1 == \"dev\" || \$1 == \"fs\")
- {
- printf (\"%-14s %7d %7d %7d %8s\n\", \"$HPNAME\", \$2, \$3, \$4, \$5);
- }
- }" | sed -e s/%//
- ;;
-
- SGI)
- uname -n | awk ' { printf ("%-14s ", $1); } '
-
- /sbin/swap -l | /usr/bin/tail +2 | /usr/bin/awk '
- BEGIN {
- blocks = 0;
- free = 0;
- line = 1;
- }
- {
- if (line == 0)
- {
- blocks += $(NF - 1) / 2;
- free += $(NF - 2) / 2;
- line = 1;
- }
- else
- line = 0;
- }
- END {
- printf ("%7d %7d %7d %7d\n", \
- blocks, blocks - free, free, ((blocks - free) * 100) / blocks);
- }'
- ;;
-
- OSF1)
- #
- # DEC OSF/1 (or Digital Unix)
- #
- /usr/bin/hostname | /usr/bin/awk ' { printf ("%-14s ", $1); } '
-
- pagesize=`/usr/bin/pagesize`
- (swapon -s; echo PAGESIZE $pagesize) | awk 'BEGIN {
- flag = 0; total = 0; used = 0; pagesize = 8192 }
- {
- if ($1 == "PAGESIZE")
- { pagesize = $2 }
- if( $1 == "Total" && $2 == "swap" && $3 == "allocation:" )
- { flag = 1 }
- if ( $1 == "Allocated" && flag == 1 && total == 0)
- { total = $3 }
- if ( $1 == "In-use" && flag == 1 && used == 0 )
- { used = $3 }
- }
- END {
- total *= (pagesize / 1024);
- used *= (pagesize / 1024);
- free = total - used;
- printf ("%7d %7d %7d %7d\n", \
- total, used, free, (used * 100) / total);
- }'
- ;;
-
-
- ULTRIX)
- #
- # Dec Ultrix
- #
- /bin/hostname | /bin/awk ' { printf ("%-14s ", $1); } '
-
- /etc/pstat -s | /bin/sed 's/k//g' | /bin/awk '
- BEGIN {
- used = 0;
- free = 0;
- }
- {
- for (i = 1; i <= NF; i++)
- {
- if ($i == "used")
- used += $(i - 1)
-
- if ($i == "free,")
- free += $(i - 1)
- }
- }
- END {
- printf ("%7d %7d %7d %7d\n", \
- free + used, used, free, (used * 100) / (free + used));
- }'
- ;;
-
- esac
-